﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(регл)
	///</summary>
	[DataContract]
	public enum НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"2ec66108-6d36-4a62-a5af-0349685773b8\", \"Представление\":\"ВСоответствииСоСт170НКРФ\"}")]
		ВСоответствииСоСт170НКРФ = 0,//Включать в стоимость или списывать на расходы в соответствии со ст.170 НК РФ
		[EnumMember(Value = "{\"Ссылка\":\"e9e65e3b-ec0c-45d4-b260-ceec63ae86d2\", \"Представление\":\"ВключатьВСтоимость\"}")]
		ВключатьВСтоимость = 1,//Всегда включать в стоимость
		[EnumMember(Value = "{\"Ссылка\":\"ff218dfb-4e7f-4254-9934-10367cd50d75\", \"Представление\":\"СписыватьНаРасходы\"}")]
		СписыватьНаРасходы = 2,//Всегда списывать на расходы
	}
	public static partial class НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ВСоответствииСоСт170НКРФ = new Guid("4903afa5-5768-b873-4a62-6d362ec66108");//Включать в стоимость или списывать на расходы в соответствии со ст.170 НК РФ
		public static readonly Guid ВключатьВСтоимость = new Guid("ecce60b2-ae63-d286-45d4-ec0ce9e65e3b");//Всегда включать в стоимость
		public static readonly Guid СписыватьНаРасходы = new Guid("36103499-d57c-750d-4254-4e7fff218dfb");//Всегда списывать на расходы
		public static НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Получить(this НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Получить(this НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Значение, Guid Ссылка)
		{
			if(Ссылка == ВСоответствииСоСт170НКРФ)
			{
				return НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.ВСоответствииСоСт170НКРФ;
			}
			else if(Ссылка == ВключатьВСтоимость)
			{
				return НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.ВключатьВСтоимость;
			}
			else if(Ссылка == СписыватьНаРасходы)
			{
				return НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.СписыватьНаРасходы;
			}
			return НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.ПустаяСсылка;
		}
		public static byte[] Ключ(this НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость Значение)
		{
			switch (Значение)
			{
				case НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.ВСоответствииСоСт170НКРФ: return ВСоответствииСоСт170НКРФ;
				case НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.ВключатьВСтоимость: return ВключатьВСтоимость;
				case НДССпособОтраженияВБухгалтерскомУчетеПриВключенииВСтоимость.СписыватьНаРасходы: return СписыватьНаРасходы;
			}
			return Guid.Empty;
		}
	}
}